package com.ydd.service;

import com.ydd.dto.*;
import com.ydd.entity.YddArticle;
import com.ydd.result.PageResult;
import com.ydd.vo.ArticleVO;

/**
 * @Description TODO
 * @Author fang
 * @Date 2023-05-29 16:26
 */
public interface YddArticleService {
    /**
     * 文章列表分页
     * @param articlePageDTO
     * @return
     */
    PageResult list(ArticlePageDTO articlePageDTO);

    /**
     * 通过id删除文章
     * @param id
     */
    void del(String id);

    /**
     * 新增文章
     * @param
     */
    void add(ArticleDTO articleDTO);

    /**
     * GET文章详细
     * 通过文章id查询文章详细
     * @param id
     * @return
     */
    ArticleVO find(Long id);

    /**
     * 文章修改
     * @param articleDTO
     * @param
     */
    void update(ArticleDTO articleDTO);

    /**
     * 查询个人文章
     * @param articleAllPageQueryDTO
     * @return
     */
    PageResult myArticle(ArticleAllPageQueryDTO articleAllPageQueryDTO);

    /**
     * 查询个人收藏/点赞文章
     * @param articleCollectPageQueryDTO
     * @return
     */
    PageResult userDataList(ArticleCollectPageQueryDTO articleCollectPageQueryDTO);

    /**
     * 用户点赞/取消点赞和收藏/取消收藏
     * @param articleCollectOperateDTO
     */
    void userDataHandle(ArticleCollectOperateDTO articleCollectOperateDTO);

    /**
     * 发布文章
     * @param articleDTO
     */
    void addArticle(ArticleDTO articleDTO);

}
